package leetcode.Leetcode11;

class Solution {
    public int maxArea(int[] height) {
        //两边选择一边更短的板向中间推，若新板比原板低或相等，那么可以直接跳过，因为面积一定减小
        //如果短边增大，则计算并更新最大面积
        int maxArea=height[0]*height[height.length-1];
        for (int i = 0,j=height.length-1; i < j;) {
            if (height[i] <= height[j]) {
                if (height[i + 1] > height[i]) {
                    i++;
                    maxArea = Math.max(maxArea, height[i + 1] * height[j]);
                } else {
                    i++;
                }
            } else {
                if (height[j - 1] > height[j]) {
                    j--;
                    maxArea = Math.max(maxArea, height[i + 1] * height[j]);
                } else {
                    j--;;
                }
            }
        }
        return maxArea;
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        solution.maxArea(new int[]{1, 8, 6, 2, 5, 4, 8, 3, 7});
    }
}